/*
Dart中的对象操作符:
    ?     条件运算符 （了解）
    as    类型转换
    is    类型判断
    ..    级联操作 （连缀）  (记住)
*/    

class Person {
  String name;
  num age;
  Person(this.name,this.age);
  void printInfo() {
    print("${this.name}---${this.age}");  
  }
  
}

main() {
  Person p =new Person('张三', 20);
  // p?.printInfo(); //如果对象为空，不调用printInfo()

  if (p is Person) {
    p.name = '李四';
  }
  // p.printInfo();
  // print(p is Object);

  // var p1;
  // p1 = '';
  // p1 =new Person('张三1', 21);
  // (p1 as Person).printInfo(); //类型转换

  Person p1 =new Person('张三1', 21);
  p1.printInfo();


  // p1.name = '张三222';
  // p1.age = 25;
  // p1.printInfo();

  //级联(连缀)操作
  p1..name = '张三222'
    ..age = 25
    ..printInfo();

}